package com.groupbuying.customer.config;

import com.aliyun.openservices.ons.api.ONSFactory;
import com.aliyun.openservices.ons.api.Producer;
import com.aliyun.openservices.ons.api.PropertyKeyConst;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

@Configuration
public class RocketMQProducerConfig {
//        public static final Logger LOGGER = LoggerFactory.getLogger(RocketMQProducerConfig.class);
//
//        /**
//         * 发送同一类消息的设置为同一个group，保证唯一,默认不需要设置，rocketmq会使用ip@pid(pid代表jvm名字)作为唯一标示
//         */
//        @Value("${rocketmq.PropertyKeyConst.ProducerId}")
//        private String producerId;
//        @Value("${rocketmq.PropertyKeyConst.AccessKey}")
//        private String accessKey;
//        @Value("${rocketmq.PropertyKeyConst.SecretKey}")
//        private String secretKey;
//        @Value("${rocketmq.PropertyKeyConst.ONSAddr}")
//        private String oNSAddr;
//
//        @Bean
//        public Producer getRocketMQProducer() throws Exception {
//
//
//            Properties properties = new Properties();
//            // 您在 MQ 控制台创建的 Producer ID
//            properties.put(PropertyKeyConst.ProducerId, producerId);
//            // 鉴权用的 RAM 子账号的 AccessKeyId，由主账号创建，请向主账号获取
//            properties.put(PropertyKeyConst.AccessKey,accessKey);
//            // 鉴权用的 RAM 子账号的 AccessKeySecret，由主账号创建，请向主账号获取
//            properties.put(PropertyKeyConst.SecretKey, secretKey);
//            // 设置 TCP 接入域名，进入 MQ 控制台的生产者管理页面，在右侧操作列单击获取接入点获取
//            // 此处以公有云公网地域接入点为例
//            properties.put(PropertyKeyConst.ONSAddr, oNSAddr);
//            Producer producer = ONSFactory.createProducer(properties);
//            //如果需要同一个jvm中不同的producer往不同的mq集群发送消息，需要设置不同的instanceName
//
//
//            try {
//                producer.start();
//
//                LOGGER.info("producer is start !!!  producerId:{" + producerId+"}");
//            } catch (Exception e) {
//                LOGGER.error(String.format("producer is error {}"
//                        , e.getMessage(),e));
//                throw new  Exception(e);
//            }
//            return producer;
//        }

}
